Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove LINQ from product code (1/n) #4725

Closed
wants to merge 1 commit into from
Closed

Conversation

kasperk81
Copy link
Contributor

this had to be done in parts otherwise it won't be reviewable

@kasperk81 kasperk81 requested a review from a team as a code owner May 25, 2024 13:22
@zarlo
Copy link

zarlo commented May 26, 2024

okay but why?

@darrelmiller
Copy link
Member

It is not clear to me why we would want to merge this. It feels like a personal preference.

@revskill10
Copy link

Why ?

@Salman-Sali
Copy link

you need better hobbies

@kasperk81
Copy link
Contributor Author

this is the 10th PR of its kind, not the first one. if you need background info, start by reading microsoft/kiota-serialization-form-dotnet#142

@zarlo
Copy link

zarlo commented May 26, 2024

so the why is to fix an issue when building AOT

@Salman-Sali
Copy link

this is the 10th PR of its kind, not the first one. if you need background info, start by reading microsoft/kiota-serialization-form-dotnet#142

"The use of LINQ in enum parsing and serialization code is resulting in unbounded..."

@Salman-Sali
Copy link

Also this appears to be a fixed matter according to the links you have posted here and on reddit.

@kasperk81
Copy link
Contributor Author

it is still an ongoing issue. linq usage in kiota (and therefore msgraph) entails massive amount of code compilation in AOT as well as the JIT mode..

@andrueastman
Copy link
Member

it is still an ongoing issue. linq usage in kiota (and therefore msgraph) entails massive amount of code compilation in AOT as well as the JIT mode..

Thanks for opening this @kasperk81

The code refactors here and in #4726 however does not seem to be related to the AOT scenario as this code is for the generator executable and is will not be included in the generated code and won't be part of the build. It will be executed separately to generate the code which will pull the abstraction libraries which PRs are ongoing.

I may have missed some context here (which @baywet can confirm when he gets back), but I believe we do not need this change in this repository for now unless we have changes for the generated code and not the code for the generator itself.

@kasperk81
Copy link
Contributor Author

@andrueastman even kiota's generated code has linq usage and i was planning to cover it in later part of the series.

@andrueastman
Copy link
Member

@kasperk81 As the LINQ changes here are not really related to the AOT scenarios can I suggest that we

  • Hold off changes unrelated to generated code (mark the two PRs as draft)
  • Create an issue at https://github.com/microsoft/kiota/issues to make the case for the generator itself to remove the LINQ code and get final clarity on the way forward and the need.
  • Create and only go ahead with a PR that only has changes related to generated code that uses LINQ.

Thoughts?

@kasperk81
Copy link
Contributor Author

opened #4732

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants